<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>look-up(查找表)</title>
	</head>
	<body>
		<script>
			/**
			 * @desc 比如大家可能会遇到类似下面的需求：比如某平台的信用分数评级，超过700-950，就是信用极好，650-700信用优秀，600-650信用良好，550-600信	用中等，350-550信用较差。
			 */
			//使用look-up表在特定情况下代替if-else

			//if else 版本
			function showGrace(grace) {
				let _level = ''
				if (grace >= 700) {
					_level = '信用极好'
				} else if (grace >= 650) {
					_level = '信用优秀'
				} else if (grace >= 600) {
					_level = '信用良好'
				} else if (grace >= 550) {
					_level = '信用中等'
				} else {
					_level = '信用较差'
				}
				return _level
			}
			const grace = this.showGrace(696)
			console.log(grace)

			//look-up表版本
			function lookUpShowGrace(grace) {
				let graceForLevel = [700, 650, 600, 550]
				let levelText = ['信用极好', '信用优秀', '信用良好', '信用中等', '信用较差']
				for (let items in graceForLevel) {
					if (grace >= graceForLevel[items]) {
						//分数大于等于那个区间, 等级就取对应的look-up表
						return levelText[items]
					}
				}
				//如果不存在, 那么就是分数很低，返回最后一个
				return levelText[levelText.length - 1]
			}
			const lookUpGrace = lookUpShowGrace(696)
			console.log(lookUpGrace)
		</script>
	</body>
</html>
